Telecommunications systems generally include modular line cards, in addition to one or more central cards. The line cards allow a variety of features to be incrementally added to the telecommunications systems. Each line card typically includes a microprocessor for controlling the line card. Boot code for the microprocessor is generally stored in a non-volatile memory for the line card so that it is available when the line card is activated. The boot code loads an executable file into the microprocessor's memory. The executable file may also be stored in a non-volatile memory for the line card or downloaded to the line card while running the boot code.
Disadvantages associated with storing boot code in a non-volatile memory for activating a line card include higher space requirements for the line card components, increased routing complexity and higher bill of materials costs. Another disadvantage is the loss of software resources needed to develop and track the boot code as a complete software design. Also, the boot code may contain hidden software bugs.
Recently, executable files for line cards have been provided by a common switch card, which downloads an executable file to a line card without using boot code. However, this method requires every switch card to be updated and maintained in order to provide the appropriate version of an executable file to a line card. In addition, the form of memory used in the switch card is relatively expensive, and the number of line card types which may be supported in this way is limited by the amount of memory available on the switch card.